Bug 448484 – GtkAccelGroup forgets to remove closure invalidate notifiers when finalizing
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>
Mon, 18 Jun 2007 09:42:27 +0000 (09:42 +0000)
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>
Mon, 18 Jun 2007 09:42:27 +0000 (09:42 +0000)
svn path=/trunk/; revision=18181

ChangeLog
gtk/gtkaccelgroup.c

index 08935e4d4fff844a50160da37c2c28d907ba7dcb..f54c2b200cd816054bba45fc55ef4ffb5f9c89e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-06-18  Gustavo J. A. M. Carneiro  <gjc@gnome.org>
+
+       reviewed by: Matthias Clasen
+
+       * gtk/gtkaccelgroup.c (gtk_accel_group_finalize): Remove closure
+       invalidate notifiers. (#448484)
+
 2007-06-17  Matthias Clasen <mclasen@redhat.com>
 
        * README.in: Updates
index 6d5aa2b10c3f1e108d1737a89e6f541b2a464ff7..4a121fcfba85eb3786afaee1c5ec60b52a420634 100644 (file)
@@ -40,6 +40,8 @@
 
 /* --- prototypes --- */
 static void gtk_accel_group_finalize   (GObject                *object);
+static void accel_closure_invalidate    (gpointer  data,
+                                         GClosure *closure);
 
 
 /* --- variables --- */
@@ -134,6 +136,7 @@ gtk_accel_group_finalize (GObject *object)
 
          _gtk_accel_map_remove_group (accel_path, accel_group);
        }
+      g_closure_remove_invalidate_notifier (entry->closure, accel_group, accel_closure_invalidate);
     }
 
   g_free (accel_group->priv_accels);